/** <!--------------------------------------------------------------------------------------------->
 * @file XXXXXXX.XXX
 *
 * GSvn - A Graphical Client for SVN
 * Copyright (C) 2012  Karl Krach, gsvn@bluespirit.la
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 <!---------------------------------------------------------------------------------------------> */


#ifndef GraphBranchTo_H
#define GraphBranchTo_H

// -- includes --
#include "GraphItem.h"
// -- forward declarations --
class GraphBranchFrom;

class GraphBranchTo : public GraphItem
{
public:
	GraphBranchTo( GraphBranch* pToBranch, GraphBranch* pFromBranch );
	virtual ~GraphBranchTo();


	/* Override Methods */
public:
	/**
	 * Defines the size of the item (without it's connectors etc.) - thus the space it needs
	 */
	QRectF logicalRect() const;

	QRectF boundingRect() const;

	void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);


	/* Members */
private:

	GraphBranch* m_pToBranch;
	GraphBranch* m_pFromBranch;

	static const int S_WIDTH  = 40;
	static const int S_HEIGHT = 40;

};

#endif // GraphBranchTo_H
